pub fn new_birthday_probability(n: u32) -> f64 {
    /*题目3：实现一个算法，输入是人数(>=2)，计算任意一天同时存在两个及以上的人过生日的概率，
    保留四位小数。(20)  输入：50  输出：0.9704   输入：61 输出：0.9951
    */
    //假设一年365天, n>365时，有二个或多个人在同一天过生日的概率为1；
    //n<=365时，概率为：1 - 没有同一天生日的概率
    //= 1 - 没有同一天生日的组合数/全部组合数
    //第1人的生日，有365种可能。 第2人的生日，假设不是同一天，概率是364/365
    //第3人的生日，假设不是同一天，概率是363/365  ... 第50人的生日，假设不是同一天，概率是316/365
    //50人，没有同一天生日的概率是（364/365）*（363/365)*……（316/365）=2.96%
    //也就是有同一天生日的概率是：1-2.96%=97.03%。 
    if n > 365 {
        1.
    } else {
        let mut rate = 1.;
        for i in 1 .. n {
            rate = rate * (365.0 - i as f64) / 365.0;
        }
        rate = 1.0 - rate;
        rate
    }
}
